package xml;

import java.io.IOException;
import java.rmi.Naming;
import java.util.Vector;
import java.util.List;
import java.util.Iterator;
import org.jdom.*;
import org.jdom.Document;
import org.jdom.input.*;
import org.jdom.Document;

/**

 * @author Maritza Hung
 */
public class Leer {

    Vector viajesUsuario = new Vector();
    Vector itinerario = new Vector();

    @SuppressWarnings("unchecked")
    public Leer() {
    }

    /**
     * Lee el XML comercial donde se encuentra los datos de los clientes
     **/
    public void leerXmlItinerario(String xmlViajes) throws JDOMException, IOException {

        try {

            System.out.println("Nombre en leer" + xmlViajes);
            SAXBuilder builder = new SAXBuilder(false);
            Document document = builder.build(xmlViajes);
            Element raiz = document.getRootElement();
            List campaignsList = raiz.getChildren("itinerary");
            Iterator i = campaignsList.iterator();
            System.out.println("Nombre en leer" + i.hasNext());
            while (i.hasNext()) {
                System.out.println("Nombre en leer" + i.hasNext());
                Element element = (Element) i.next();
                Viaje viajecitos = new Viaje();

                viajecitos.setCreate(element.getChild("created-at").getText());
                System.out.println("Nombre en leer2 " + element.getChild("created-at").getText());

                viajecitos.setIdv(element.getChild("id").getText());
                System.out.println("fechallegada en leer2 " + element.getChild("id").getText());

                viajecitos.setDescripcion(element.getChild("iti-description").getText());
                System.out.println("fechapartida en leer2 " + element.getChild("iti-description").getText());

                viajecitos.setFechaFin(element.getChild("iti-end-date").getText());
                System.out.println("lugarDestino en leer2 " + element.getChild("iti-end-date").getText());

                viajecitos.setImagen(element.getChild("iti-image-url").getText());
                System.out.println("sitioAlojamiento en leer2 " + element.getChild("iti-image-url").getText());

                viajecitos.setLatitud(element.getChild("iti-latitude").getText());
                System.out.println("status en leer2 " + element.getChild("iti-latitude").getText());

                viajecitos.setLocalidad(element.getChild("iti-location").getText());
                System.out.println("status en leer2 " + element.getChild("iti-location").getText());

                viajecitos.setLongitud(element.getChild("iti-longitude").getText());
                System.out.println("status en leer2 " + element.getChild("iti-longitude").getText());

                viajecitos.setFechaInicio(element.getChild("iti-start-date").getText());
                System.out.println("status en leer2 " + element.getChild("iti-start-date").getText());

                viajecitos.setStatus(element.getChild("iti-status").getText());
                System.out.println("status en leer2 " + element.getChild("iti-status").getText());

                viajecitos.setVoto(element.getChild("iti-votes").getText());
                System.out.println("status en leer2 " + element.getChild("iti-votes").getText());

                viajecitos.setSitioAlojamiento(element.getChild("trip-id").getText());
                System.out.println("status en leer2 " + element.getChild("trip-id").getText());
                
                viajecitos.setUpdate(element.getChild("updated-at").getText());
                System.out.println("status en leer2 " + element.getChild("updated-at").getText());

                viajecitos.setUserID(element.getChild("user-id").getText());
                System.out.println("status en leer2 " + element.getChild("user-id").getText());
                viajesUsuario.add(viajecitos);
            }
            System.out.println("SALIO DE UNA");
        } catch (Exception e) {
            System.out.print(e.getMessage());
        }
    }

    /**
     * Método con el que se obtiene un Vector con pasajeros
     * @return Vector de pasajeros
     */
    public Vector dameVector() {
        return this.viajesUsuario;
    }

    public void leerXmlUsuario(String xmlItinerario) throws JDOMException, IOException {

        try {
            SAXBuilder builder = new SAXBuilder(false);
            System.out.println("XML "+xmlItinerario);
            Document document = builder.build(xmlItinerario);
            System.out.println("XML"+xmlItinerario);
            Element raiz = document.getRootElement();
            List campaignsList = raiz.getChildren("trip");
            Iterator i = campaignsList.iterator();
            System.out.println("iteContacts " + i.hasNext());

            while (i.hasNext()) {

                Element element = (Element) i.next();
                Itinerario viajotes = new Itinerario();
                viajotes.setCreate(element.getChild("created-at").getText());
                System.out.println("ID " + element.getChild("created-at").getText());

                viajotes.setIdv(element.getChild("id").getText());
                System.out.println("FECHA " + element.getChild("id").getText());

                viajotes.setCiudad(element.getChild("tri-city").getText());
                System.out.println("FECHA " + element.getChild("tri-city").getText());

                viajotes.setConti(element.getChild("tri-country").getText());
                System.out.println("lugarDestino " + element.getChild("tri-country").getText());

                viajotes.setFechapartida(element.getChild("tri-end-date").getText());
                System.out.println("sitioAlojamiento " + element.getChild("tri-end-date").getText());

                viajotes.setLodging(element.getChild("tri-lodging").getText());
                System.out.println("status " + element.getChild("tri-lodging").getText());

                viajotes.setShared(element.getChild("tri-shared").getText());
                System.out.println("status " + element.getChild("tri-shared").getText());

                viajotes.setFechallegada(element.getChild("tri-start-date").getText());
                System.out.println("status " + element.getChild("tri-start-date").getText());

                viajotes.setStatus(element.getChild("tri-status").getText());
                System.out.println("status " + element.getChild("tri-status").getText());

                viajotes.setUpdate(element.getChild("updated-at").getText());
                System.out.println("status " + element.getChild("updated-at").getText());

                viajotes.setIdUsu(element.getChild("user-id").getText());
                System.out.println("status " + element.getChild("user-id").getText());

                itinerario.add(viajotes);
            }

        } catch (Exception e) {
            System.out.print(e.getMessage());
        }
    }

    /**
     * Método con el que se obtiene un Vector con pasajeros
     * @return Vector de pasajeros
     */
    public Vector dameVectorItinerario() {
        return this.itinerario;
    }
}
